import { combineReducers } from 'redux'
import { Reducer as MainInfoState } from '../components/MainInfo/reducer'
import { Reducer as WordSearcherReducer } from '../components/WordSearcher/reducer'
import { Reducer as WordListReducer } from '../components/WordList/reducer'
import { Reducer as WordSourceReducer } from '../components/WordSource/reducer'
import { Reducer as WordSentenceState } from '../components/WordSentence/reducer'
import { Reducer as WordTagSelectState } from '../components/WordTagSelect/reducer'
import { Reducer as WordUserReducer } from '../components/WordUser/reducer'
import { Reducer as WordUserRelationState } from '../components/WordUserRelation/reducer'
import { Reducer as WordUserRelationTypeState } from '../components/WordUserRelationTypeSelect/reducer'
import { Reducer as WordTagState } from '../components/WordTag/reducer'
import { Reducer as WordNoteState } from '../components/WordNote/reducer'


const CombinedReducers = combineReducers({
    MainInfoState,
    WordTagState,
    WordListState: WordListReducer,
    WordSearcherState: WordSearcherReducer,
    WordSourceState: WordSourceReducer,
    WordSentenceState,
    WordUserRelationTypeState,
    WordUserRelationState,
    WordTagSelectState,
    WordUserState: WordUserReducer,
    WordNoteState,
})

export default CombinedReducers
export type RootState = ReturnType<typeof CombinedReducers>